import { defHttp } from '@/utils/http/axios';

// 查询生成表数据
export async function listTable(query) {
  return defHttp.get({
    url: '/tool/gen/list',
    params: query,
  });
}
// 查询db数据库列表
export async function listDbTable(query) {
  return defHttp.get({
    url: '/tool/gen/db/list',
    params: query,
  });
}

// 查询表详细信息
export async function getGenTable(tableId) {
  return defHttp.get({
    url: `/tool/gen/${tableId}`,
  });
}

// 修改代码生成信息
export async function updateGenTable(data) {
  return defHttp.put({
    url: '/tool/gen',
    data,
  });
}

// 导入表
export async function importTable(data) {
  return defHttp.post({
    url: '/tool/gen/importTable',
    method: 'post',
    params: data,
  });
}

// 创建表
export async function createTable(data) {
  return defHttp.post({
    url: '/tool/gen/createTable',
    method: 'post',
    params: data,
  });
}

// 预览生成代码
export async function previewTable(tableId) {
  return defHttp.get({
    url: `/tool/gen/preview/${tableId}`,
    method: 'get',
  });
}

// 删除表数据
export async function delTable(tableId) {
  return defHttp.delete({
    url: `/tool/gen/${tableId}`,
    method: 'delete',
  });
}

// 生成代码（自定义路径）
export async function genCode(tableName) {
  return defHttp.get({
    url: `/tool/gen/genCode/${tableName}`,
    method: 'get',
  });
}

// 同步数据库
export async function synchDb(tableName) {
  return defHttp.get({
    url: `/tool/gen/synchDb/${tableName}`,
    method: 'get',
  });
}
